package com.wuwei.elearning.config.factory;

import com.wuwei.elearning.question.model.ChatMessage;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.util.List;

/**
 * AI客户端接口，定义所有AI提供商必须实现的方法
 */
public interface AiClient {
    
    /**
     * 执行流式聊天完成
     * @param messages 对话消息列表
     * @param emitter SSE发射器
     * @param responseBuilder 响应构建器，用于累积响应内容
     * @return 如果由客户端处理流式响应则返回null，否则返回完整响应
     */
    String streamChatCompletion(List<ChatMessage> messages, SseEmitter emitter, StringBuilder responseBuilder);

    
    /**
     * 获取当前使用的模型ID
     * @return 模型ID
     */
    String getModelId();
} 